<?php

error_reporting(E_ALL);

/**
 * ConexionBD - class.fncReportes.php
 *
 * $Id$
 *
 * This file is part of ConexionBD.
 *
 * Automatically generated on 22.04.2010, 18:09:22 with ArgoUML PHP module 
 * (last revised $Date: 2008-04-19 08:22:08 +0200 (Sat, 19 Apr 2008) $)
 *
 * @author Miguel Angel Chavez
 */

if (0 > version_compare(PHP_VERSION, '5')) {
    die('This file was generated for PHP 5');
}

/**
 * include ConexionBD
 *
 * @author Miguel Angel Chavez Obregon
 * @see Funcion con operativas basicas a la base de datos, cualquier metodo que se requiera hacer que no sea directo a la base de datos debera crear una clase que haga extend a esta.
 * @version 1.0
 */
require_once('class.ConexionBD.php');

/**
 * include reporte
 *
 * @author Miguel Angel Chavez
 */
require_once('interface.reporte.php');

/* user defined includes */
// section -64--88-1-14-5d941fc8:1258f3a5782:-8000:0000000000000FEF-includes begin
// section -64--88-1-14-5d941fc8:1258f3a5782:-8000:0000000000000FEF-includes end

/* user defined constants */
// section -64--88-1-14-5d941fc8:1258f3a5782:-8000:0000000000000FEF-constants begin
// section -64--88-1-14-5d941fc8:1258f3a5782:-8000:0000000000000FEF-constants end

/**
 * Short description of class fncReportes
 *
 * @access public
 * @author Miguel Angel Chavez
 */
class fncReportes
    extends ConexionBD
        implements reporte
{
    // --- ASSOCIATIONS ---
    // generateAssociationEnd : 

    // --- ATTRIBUTES ---

    // --- OPERATIONS ---

    /**
     * Short description of method GeneraReporte
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int idPerfil
     * @param  int idSector
     * @param  int idEntidad
     * @param  int chkDatGenerales
     * @param  int chkSintomas
     * @param  int chkComorbilidad
     * @param  int chkDatClinicos
     * @param  int chkTratamiento
     * @param  int chkDatEpidemiologicos
     * @param  int chkLaboratorio
     * @param  int chkResultados
     * @param  int dtInicioSintomasIni
     * @param  int dtInicioSintomasFin
     * @param  int strFormato
     * @param  int strFile
     * @param  int opcFechas
     * @param  int chkRechazadas
     * @return void
     */
    public function GeneraReporte($idPerfil, $idSector, $idEntidad, $chkDatGenerales, $chkSintomas, $chkComorbilidad, $chkDatClinicos, $chkTratamiento, $chkDatEpidemiologicos, $chkLaboratorio, $chkResultados, $dtInicioSintomasIni, $dtInicioSintomasFin, $strFormato, $strFile, $opcFechas, $chkRechazadas)
    {
        // section -64--88-1-14-5d941fc8:1258f3a5782:-8000:0000000000000FFE begin
        $param = $idSector.'|'.$idPerfil.'|'.$idEntidad.'|'.$chkDatGenerales.'|'.$chkDatClinicos.'|'.$chkSintomas.'|'.$chkComorbilidad.'|'.$chkTratamiento.'|'.$chkDatEpidemiologicos.'|'.$chkLaboratorio.'|'.$dtInicioSintomasIni.'|'.$dtInicioSintomasFin.'|'.$chkResultados.'|'.$opcFechas.'|'.$chkRechazadas;
        $stp=mssql_init("sp_ExtraeReporte",$this->link);

        mssql_bind($stp,'@param',$param,SQLVARCHAR,false,false,8000);
        $resultSet=mssql_execute($stp);
        $num = mssql_num_fields($resultSet);
        $cadena ="";

        if ($strFormato == "xls")
            {
                $cadena .= "<table border=1><tr>\n";
                for ($x=0;$x<$num;$x++)
                    {   $xcampo = mssql_field_name($resultSet, $x);
                        $cadena .= "<td><b>$xcampo</b></td>\n";
                    }

                 while($arr=mssql_fetch_array($resultSet)){
                                $cadena .= "<tr>\n";
                                for ($x=0;$x<$num;$x++){
                                $rot = $arr[$x];
                                $cadena .= "<td>".$rot."</td>\n";
                                }
                                $cadena .= "</tr>\n";

                 }
                $cadena .= "</table>";
            }
        else
            {   for ($x=0;$x<$num;$x++)
                    {
                        $xcampo = mssql_field_name($resultSet, $x);
                        $cadena .= $xcampo."|";
                    }
                $cadena .= chr(13).chr(10);

                while($arr=mssql_fetch_array($resultSet))
                    {   for ($x=0;$x<$num;$x++)
                            {   $campo = str_replace("|","",$arr[$x]);
                                $cadena .= $campo."|";
                            }
                        $cadena .= chr(13).chr(10);
                    }
            }
        mssql_free_statement($stp);
        return $cadena;
        // section -64--88-1-14-5d941fc8:1258f3a5782:-8000:0000000000000FFE end
    }

    /**
     * Short description of method cmbEstado
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbEstado($onChange, $status, $default, $param)
    {
        // section -64--88-1-14-5d941fc8:1258f3a5782:-8000:0000000000001010 begin
		return $this->creaCombo("SP_listaEstados", "nEstado", "nEstado", $onChange, $status, $default, $param);
        // section -64--88-1-14-5d941fc8:1258f3a5782:-8000:0000000000001010 end
    }

    /**
     * Short description of method FileName
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int idPerfil
     * @param  int idEntidad
     * @param  int idSector
     * @return void
     */
    public function FileName($idPerfil, $idEntidad, $idSector)
    {
        // section -64--88-1-14-5d941fc8:1258f3a5782:-8000:0000000000001023 begin
         $param = $idPerfil.'|'.$idEntidad.'|'.$idSector.'|';
        return $this->ejecutaSP("sp_NombreReporte", $param);
        // section -64--88-1-14-5d941fc8:1258f3a5782:-8000:0000000000001023 end
    }

    /**
     * Short description of method cmbSector
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbSector($onChange, $status, $default, $param)
    {
        // section 10-16-10-35-3c805d3e:1269fab0ba0:-8000:00000000000010D0 begin
        return $this->creaCombo("sp_listaInstituciones", "nSector", "nSector", $onChange, $status, $default, $param);
        // section 10-16-10-35-3c805d3e:1269fab0ba0:-8000:00000000000010D0 end
    }

    /**
     * Short description of method graficosEdad
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int tipoRep
     * @param  int id_laboratorio
     * @param  int tipoGraf
     * @return void
     */
    public function graficosEdad($tipoRep, $id_laboratorio, $tipoGraf)
    {
        // section 10-16-10-43-54a0847f:12707735e0e:-8000:00000000000010F5 begin
        if($id_laboratorio==99){$id_laboratorio=0;}
        $param=$tipoRep.'|'.$id_laboratorio.'|';
       // echo "SP_RptGrafEdad '".$param."'";
        $stp=mssql_init("SP_RptGrafEdad",$this->link);
         mssql_bind($stp,'@param',$param,SQLVARCHAR,false,false,30);
         $resultSet=mssql_execute($stp);
        
         $i=0;
         $suma=0;
        while($sum= mssql_fetch_assoc($resultSet)){
                  $suma=$suma+$sum["Caso"];
                  $array[] = $sum;
        }

         if ($tipoGraf==1){
            $graf="";
          foreach($array as $key=>$value){
              if($suma==0){$div=1;}else{$div=$suma;}
                   if(($i%2)!=0){$bg='bgcolor="#dae1f8"';  }else{$bg='';}
                   $graf.="<tr ".$bg."><td>".$value["Rango"]."</td>";
                   $graf.="<td align='right'>".$value["Caso"]."</td>";

                   $porcentaje=($value["Caso"]*100)/$div;
                   $graf.="<td align='right'>".round($porcentaje,2)."%</td>";
                   $i++;
          }
                   $graf.="<tr bgcolor='#dae1f8'><td>Total General</td>";
                   $graf.="<td align='right'>".$suma."</td>";
                   $graf.="<td align='right'>100%</td></tr>";
   
         }
          elseif($tipoGraf==2)
            {
              $graf="data.addRows(".mssql_num_rows($resultSet).");";
             foreach($array as $key=>$value){
               $graf.="data.setValue(".$i.",0,'".$value["Rango"]."');";
               $graf.="data.setValue(".$i.",1,".$value["Caso"].");";
              $i++;
            }
          }
         mssql_free_result($resultSet);
         mssql_free_statement($stp);
        return $graf;
        // section 10-16-10-43-54a0847f:12707735e0e:-8000:00000000000010F5 end
    }

    /**
     * Short description of method graficoSexo
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int tipoRep
     * @param  int id_laboratorio
     * @param  int tipoGraf
     * @return void
     */
    public function graficoSexo($tipoRep, $id_laboratorio, $tipoGraf)
    {
        // section 10-16-10-68--4191a967:1271bf47e08:-8000:00000000000010FF begin
      if($id_laboratorio==99){$id_laboratorio=0;}
      $param=$tipoRep.'|'.$id_laboratorio.'|';
        $stp=mssql_init("SP_RptGrafSexo",$this->link);
         mssql_bind($stp,'@param',$param,SQLVARCHAR,false,false,30);
         $resultSet=mssql_execute($stp);

         $i=0;
         $sumaH=$sumaM=$sumaT=0;
         $array=array();
        while($sum= mssql_fetch_assoc($resultSet)){
                  $sumaH=$sumaH+$sum["Hombres"];
                  $sumaM=$sumaM+$sum["Mujeres"];
                  $sumaT=$sumaT+$sum["TOTAL"];
                  $array[] = $sum;
        }
        if(count($array)==0){
            $array[1]=array("Rango"=>"0 a 1","Mujeres"=>0,"Hombres"=>0,"TOTAL"=>0);
            $array[2]=array("Rango"=>"1 a 4","Mujeres"=>0,"Hombres"=>0,"TOTAL"=>0);
            $array[3]=array("Rango"=>"5 a 9","Mujeres"=>0,"Hombres"=>0,"TOTAL"=>0);
            $array[4]=array("Rango"=>"10 a 19","Mujeres"=>0,"Hombres"=>0,"TOTAL"=>0);
            $array[5]=array("Rango"=>"20 a 29","Mujeres"=>0,"Hombres"=>0,"TOTAL"=>0);
            $array[6]=array("Rango"=>"30 a 39","Mujeres"=>0,"Hombres"=>0,"TOTAL"=>0);
            $array[7]=array("Rango"=>"40 a 49","Mujeres"=>0,"Hombres"=>0,"TOTAL"=>0);
            $array[8]=array("Rango"=>"50 a 59","Mujeres"=>0,"Hombres"=>0,"TOTAL"=>0);
            $array[9]=array("Rango"=>"Mayor de 60","Mujeres"=>0,"Hombres"=>0,"TOTAL"=>0);
        }
           if ($tipoGraf==1){
            $graf="";
          foreach($array as $key=>$value){
                   if(($i%2)!=0){$bg='bgcolor="#dae1f8"';}else{$bg='';}
                   $graf.="<tr ".$bg."><td>".$value["Rango"]."</td>";
                   $graf.="<td align='right'>".$value["Mujeres"]."</td>";
                   $graf.="<td align='right'>".$value["Hombres"]."</td>";
                   $graf.="<td align='right'>".$value["TOTAL"]."</td></tr>";
                   $i++;
          }
                   $graf.="<tr bgcolor='#dde8ea'><td>Total General</td>";
                   $graf.="<td align='right'>".$sumaM."</td>";
                   $graf.="<td align='right'>".$sumaH."</td>";
                   $graf.="<td align='right'>".$sumaT."</td></tr>";

         }
          elseif($tipoGraf==2)
            {
              //$graf="data.addRows(".mssql_num_rows($resultSet).");";
              $graf="data.addRows(".count($array).");";
             foreach($array as $key=>$value){
               $graf.="data.setValue(".$i.",0,'".$value["Rango"]."');";
               $graf.="data.setValue(".$i.",1,".$value["Mujeres"].");";
               $graf.="data.setValue(".$i.",2,".$value["Hombres"].");";
              $i++;
            }
          }elseif($tipoGraf==3){
              if($sumaT==0){$div=1;}else{$div=$sumaT;}
              $graf="<tr><td>Mujeres</td><td align='right'>".$sumaM."</td><td align='right'>".round(($sumaM*100)/$div,2)." % <td></tr>";
              $graf.="<tr bgcolor='#dae1f8'><td>Hombres</td><td align='right'>".$sumaH."</td><td align='right'>".round(($sumaH*100)/$div,2)." % </td></tr>";
              $graf.="<tr><td>Total General</td><td align='right'>".$sumaT."</td><td align='right'>100%</td></tr>";
          }
         mssql_free_result($resultSet);
         mssql_free_statement($stp);
        return $graf;
        // section 10-16-10-68--4191a967:1271bf47e08:-8000:00000000000010FF end
    }

    /**
     * Short description of method graficoIndxRechazo
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int nLab
     * @param  int opc
     * @return void
     */
    public function graficoIndxRechazo($nLab, $opc)
    {
        // section 10-16-10-19--4914061c:1274e8a88d8:-8000:000000000000110E begin
        if($nLab==99){$nLab=0;}
  
        $stp=mssql_init("SP_RptIndxRechazo",$this->link);
         mssql_bind($stp,'@param',$nLab,SQLVARCHAR,false,false,30);
         $resultSet=mssql_execute($stp);
        $result=mssql_fetch_assoc($resultSet);
        if ($opc==1){
         $porciento=round($result['Porcentaje'],2);
         $graf= "data.setValue(0, 0, 'Rechazo');";
         $graf.="data.setValue(0,1,$porciento);";
        }else if($opc==2){

        $graf='{'.$result["Rechazo"].'}{'.$result["TotalRegistros"].'}X100 ='.round($result['Porcentaje'],2).'';
        }
        return $graf;
        // section 10-16-10-19--4914061c:1274e8a88d8:-8000:000000000000110E end
    }

    /**
     * Short description of method graficoOprTomaMuestra
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int nLab
     * @param  int opc
     * @return void
     */
    public function graficoOprTomaMuestra($nLab, $opc)
    {
        // section 10-16-10-19--4914061c:1274e8a88d8:-8000:0000000000001111 begin
      if($nLab==99){$nLab=0;}
 
          $stp=mssql_init("SP_RptOpTomaMuestra",$this->link);
          mssql_bind($stp,'@param',$nLab,SQLVARCHAR,false,false,30);
          $resultSet=mssql_execute($stp);
          $registros = mssql_num_rows($resultSet);
	$es_par = ($registros%2);

	if($es_par==0){
		// es par
		$cnt=0; $valor=0;
		$nPosicion = ($registros/2);
		$nPosicion2 = $nPosicion + 1;
		while($datos = mssql_fetch_array($resultSet)){
			if($cnt >= $nPosicion && $cnt <= $nPosicion2)
				$valor += $datos[0];
			$nMediana = ($valor / 2);
			$cnt++;
		}
	}else{
		// es impar
		$cnt=0;
		$nPosicion = ceil($registros/2);
		while($datos = mssql_fetch_array($resultSet)){
			if($cnt == $nPosicion)
				$nMediana = $datos[0];
			$cnt++;
		}
	}
        if($opc==1){
         $graf= "data.setValue(0, 0, '');";
         $graf.="data.setValue(0,1,$nMediana);";
        }else{
          $graf=$nMediana;
        }

         return $graf;
        // section 10-16-10-19--4914061c:1274e8a88d8:-8000:0000000000001111 end
    }

    /**
     * Short description of method graficoFaseAnalitica
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int nLab
     * @param  int opc
     * @return void
     */
    public function graficoFaseAnalitica($nLab, $opc)
    {
        // section 10-16-10-19-59482099:1275456a6e9:-8000:0000000000001116 begin
       if($nLab==99){$nLab=0;}

          $stp=mssql_init("SP_RptFaseAnalitica",$this->link);
          mssql_bind($stp,'@param',$nLab,SQLVARCHAR,false,false,30);
          $resultSet=mssql_execute($stp);
          $registros = mssql_num_rows($resultSet);
	$es_par = ($registros%2);

	if($es_par==0){
		// es par
		$cnt=0; $valor=0;
		$nPosicion = ($registros/2);
		$nPosicion2 = $nPosicion + 1;
		while($datos = mssql_fetch_array($resultSet)){
			if($cnt >= $nPosicion && $cnt <= $nPosicion2)
				$valor += $datos[0];
			$nMediana = ($valor / 2);
			$cnt++;
		}
	}else{
		// es impar
		$cnt=0;
		$nPosicion = ceil($registros/2);
		while($datos = mssql_fetch_array($resultSet)){
			if($cnt == $nPosicion)
				$nMediana = $datos[0];
			$cnt++;
		}
	}
        if($opc==1){
         $graf= "data.setValue(0, 0, '');";
         $graf.="data.setValue(0,1,$nMediana);";
        }else{
          $graf=$nMediana;
        }
         return $graf;
        // section 10-16-10-19-59482099:1275456a6e9:-8000:0000000000001116 end
    }

    /**
     * Short description of method grafProVsConf
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int semNum
     * @param  int tipGraf
     * @return void
     */
    public function grafProVsConf($semNum, $tipGraf)
    {
        // section 10-16-10-8--73193a07:127698ff831:-8000:0000000000001119 begin
           $graf='data.addRows('.$semNum.');';
           $j=0;
          for($i=1;$i<$semNum;$i++){
              $resul=$this->ejecutaSP("SP_SemanaEpi", $i);
              $registro="'".$resul['FechaIni']." al ".$resul['FechaFin']."'";
              $graf.="data.setValue($j,0,$registro);";
              if($tipGraf==1){
                  $graf.="data.setValue($j,1,$resul[tCasosProbable]);";
                  $graf.="data.setValue($j,2,$resul[tCasosConfirmados]);";
              }else{
                $graf.="data.setValue($j,1,$resul[AH1N1]);";
                $graf.="data.setValue($j,2,$resul[A]);";
                 $graf.="data.setValue($j,3,$resul[AH1]);";
                $graf.="data.setValue($j,4,$resul[AH3]);";
                $graf.="data.setValue($j,5,$resul[ANS]);";
              }
              $j++;
              }
          return $graf;

        // section 10-16-10-8--73193a07:127698ff831:-8000:0000000000001119 end
    }

    /**
     * Short description of method rptTpCasoxEntidad
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int opc
     * @return void
     */
    public function rptTpCasoxEntidad($opc)
    {
        // section -87--2-54--100--2c33777c:1278d75cb0e:-8000:000000000000111C begin
 
            $graf=$this->rtpTPCasoXEntidad1($opc);
            $graf.=$this->rtpTPCasoXEntidad2($opc);
            $graf.=$this->rptTpCasoxEntidadExt($opc);
          return $graf;
        // section -87--2-54--100--2c33777c:1278d75cb0e:-8000:000000000000111C end
    }

    /**
     * Short description of method cmbLaboratorio
     *
     * @access public
     * @author Miguel Angel Chavez
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbLaboratorio($onChange, $status, $default, $param)
    {
        // section -87--2-97--62-301cd4b0:127e501eceb:-8000:0000000000001313 begin
         return $this->creaCombo("SP_cmbLaboratorio", "nLab", "nLab", $onChange, $status, $default, $param);
        // section -87--2-97--62-301cd4b0:127e501eceb:-8000:0000000000001313 end
    }

    /**
     * Short description of method rtpTPcasoxEntidad1
     *
     * @access protected
     * @author Miguel Angel Chavez
     * @param  int opc
     * @return void
     */
    protected function rtpTPcasoxEntidad1($opc)
    {
        // section -87--2-97--62-37df7796:1281bc5126d:-8000:0000000000001324 begin
        $graf="";
         for($i=1;$i<=16;$i++){

            $param= $opc.'|'. $i.'|';
            $registro=$this->ejecutaSP("SP_RptTPxEntidad2", $param);

              if(($i%2)==0){$bg='bgcolor="#dae1f8"';}else{$bg='';}
              $graf.="<tr ".$bg."  align='right'>";
              $graf.="<td>".$res = ($registro["TOTAL"]!= "") ? $registro["TOTAL"] : '&nbsp;'."</td>";

              $graf.="<td>".$registro["INF A"]."</td>";
              $graf.="<td>".$registro["NEGATIVO"]."</td>";
              $graf.="<td>".$registro["INF AH1N1 PMD"]."</td>";
              $graf.="<td>".$registro["NO ADECUADO"]."</td>";
              if(($opc==1) or ($opc==3)){
                $graf.="<td>".$registro["PARAINFLUENZA"]."</td>";
              }
              $graf.="<td>".$registro["B"]."</td>";
              if($opc==1){
                 $graf.="<td>".$registro["DUPLICADA"]."</td>";
              }else if(($opc==2) or ($opc==3)){
                 $graf.="<td>".$registro["A H1"]."</td>";
                 $graf.="<td>".$registro["A H3"]."</td>";
                 if($opc==3){
                     $graf.="<td>".$registro["A H5"]."</td>";
                 }
                 $graf.="<td>".$registro["NO SUBTIPIFICADO"]."</td>";
              }
              if($opc==3){
                     $graf.="<td>".$registro["ADENOVIRUS"]."</td>";
                     $graf.="<td>".$registro["ENTEROV//RHINOVIRUS"]."</td>";
                     $graf.="<td>".$registro["METAPNEUMOVIRUS"]."</td>";
                     $graf.="<td>".$registro["NO AMPLIFICO"]."</td>";
                     $graf.="<td>".$registro["VSR A"]."</td>";
                     $graf.="<td>".$registro["CORONA NL63"]."</td>";
                     $graf.="<td>".$registro["CORONA 229E"]."</td>";
                     $graf.="<td>".$registro["CORONA HKU1"]."</td>";
                     $graf.="<td>".$registro["CORONA OC43"]."</td>";
                     $graf.="<td>".$registro["CORONA SARS"]."</td>";
                }
              $graf.="<td>".$registro["RECHAZADOS"]."</td>";
              if($opc==1){
                 $graf.="<td>".$registro["VSR"]."</td>";
                 $graf.="<td>".$registro["MUESTRA INADECUADA"]."</td>";
              }
              $graf.="</tr>";
            }
            return $graf;
        // section -87--2-97--62-37df7796:1281bc5126d:-8000:0000000000001324 end
    }

    /**
     * Short description of method rtpTPCasoXEntidad2
     *
     * @access protected
     * @author Miguel Angel Chavez
     * @param  int opc
     * @return void
     */
    protected function rtpTPCasoXEntidad2($opc)
    {
        // section -87--2-97--62-37df7796:1281bc5126d:-8000:0000000000001321 begin
        $graf="";
         for($i=17;$i<=32;$i++){
            $param= $opc.'|'. $i.'|';
            $registro=$this->ejecutaSP("SP_RptTPxEntidad2", $param);

              if(($i%2)==0){$bg='bgcolor="#dae1f8"';}else{$bg='';}
              $graf.="<tr ".$bg."  align='right'>";
              $graf.="<td>".$res = ($registro["TOTAL"]!= "") ? $registro["TOTAL"] : '&nbsp;'."</td>";

              $graf.="<td>".$registro["INF A"]."</td>";
              $graf.="<td>".$registro["NEGATIVO"]."</td>";
              $graf.="<td>".$registro["INF AH1N1 PMD"]."</td>";
              $graf.="<td>".$registro["NO ADECUADO"]."</td>";
              if(($opc==1) or ($opc==3)){
                $graf.="<td>".$registro["PARAINFLUENZA"]."</td>";
              }
              $graf.="<td>".$registro["B"]."</td>";
              if($opc==1){
                 $graf.="<td>".$registro["DUPLICADA"]."</td>";
              }else if(($opc==2) or ($opc==3)){
                 $graf.="<td>".$registro["A H1"]."</td>";
                 $graf.="<td>".$registro["A H3"]."</td>";
                 if($opc==3){
                     $graf.="<td>".$registro["A H5"]."</td>";
                 }
                 $graf.="<td>".$registro["NO SUBTIPIFICADO"]."</td>";
              }
              if($opc==3){
                     $graf.="<td>".$registro["ADENOVIRUS"]."</td>";
                     $graf.="<td>".$registro["ENTEROV//RHINOVIRUS"]."</td>";
                     $graf.="<td>".$registro["METAPNEUMOVIRUS"]."</td>";
                     $graf.="<td>".$registro["NO AMPLIFICO"]."</td>";
                     $graf.="<td>".$registro["VSR A"]."</td>";
                     $graf.="<td>".$registro["CORONA NL63"]."</td>";
                     $graf.="<td>".$registro["CORONA 229E"]."</td>";
                     $graf.="<td>".$registro["CORONA HKU1"]."</td>";
                     $graf.="<td>".$registro["CORONA OC43"]."</td>";
                     $graf.="<td>".$registro["CORONA SARS"]."</td>";
                }
              $graf.="<td>".$registro["RECHAZADOS"]."</td>";
              if($opc==1){
                 $graf.="<td>".$registro["VSR"]."</td>";
                 $graf.="<td>".$registro["MUESTRA INADECUADA"]."</td>";
              }
              $graf.="</tr>";
             // $i++;

        }
        return $graf;
        // section -87--2-97--62-37df7796:1281bc5126d:-8000:0000000000001321 end
    }

    /**
     * Se para el parametro opc el cual es un valor que viene armado por tipo de
     * y entidad, separado por pipes, los cuales se separa en la base de datos
     *
     * @access protected
     * @author Miguel Angel Ch�vez Obreg�n
     * @param  int opc
     * @return void
     * @see Funci�n para extraer los valores para el registro de casos de extranjeros en el reporte de "Tipo caso por estado"
     * @version 1
     */
    protected function rptTpCasoxEntidadExt($opc)
    {
        // section -87--2-97--62--737519e4:128085c1ec4:-8000:000000000000131A begin

            $registro=$this->ejecutaSP("SP_RptTPxEntidadExt", $opc);
              $graf="<tr align='right'>";
              $graf.="<td>".$res = ($registro["TOTAL"]!= "") ? $registro["TOTAL"] : '&nbsp;'."</td>";
      
              $graf.="<td>".$registro["INF A"]."</td>";
              $graf.="<td>".$registro["NEGATIVO"]."</td>";
              $graf.="<td>".$registro["INF AH1N1 PMD"]."</td>";
              $graf.="<td>".$registro["NO ADECUADO"]."</td>";
              if(($opc==1) or ($opc==3)){
                $graf.="<td>".$registro["PARAINFLUENZA"]."</td>";
              }
              $graf.="<td>".$registro["B"]."</td>";
              if($opc==1){
                 $graf.="<td>".$registro["DUPLICADA"]."</td>";
              }else if(($opc==2) or ($opc==3)){
                 $graf.="<td>".$registro["A H1"]."</td>";
                 $graf.="<td>".$registro["A H3"]."</td>";
                 if($opc==3){
                     $graf.="<td>".$registro["A H5"]."</td>";
                 }
                 $graf.="<td>".$registro["NO SUBTIPIFICADO"]."</td>";
              }
              if($opc==3){
                     $graf.="<td>".$registro["ADENOVIRUS"]."</td>";
                     $graf.="<td>".$registro["ENTEROV//RHINOVIRUS"]."</td>";
                     $graf.="<td>".$registro["METAPNEUMOVIRUS"]."</td>";
                     $graf.="<td>".$registro["NO AMPLIFICO"]."</td>";
                     $graf.="<td>".$registro["VSR A"]."</td>";
                     $graf.="<td>".$registro["CORONA NL63"]."</td>";
                     $graf.="<td>".$registro["CORONA 229E"]."</td>";
                     $graf.="<td>".$registro["CORONA HKU1"]."</td>";
                     $graf.="<td>".$registro["CORONA OC43"]."</td>";
                     $graf.="<td>".$registro["CORONA SARS"]."</td>";
                }
              $graf.="<td>".$registro["RECHAZADOS"]."</td>";
              if($opc==1){
                 $graf.="<td>".$registro["VSR"]."</td>";
                 $graf.="<td>".$registro["MUESTRA INADECUADA"]."</td>";
              }

              $graf.="</tr>";
          return $graf;
        // section -87--2-97--62--737519e4:128085c1ec4:-8000:000000000000131A end
    }

} /* end of class fncReportes */

?>